This invention relates to a data transmission system, a data transmission method, a data transmitting apparatus, and a data transmitting method, and more particularly to a data transmission system, a data transmission method, a data transmitting apparatus, and a data transmitting method which are capable of more efficiently carrying out transmission of data.
FIG. 1 represents an example of packet transmission format of the Institute of Electrical and Electronics Engineers, inc. (hereinafter referred to as IEEE) 1394 serial bus. As shown in this figure, packet is subjected to transmission at Isochronous Cycle of 125 xcexcsec. At leading portions of respective isochronous cycles, Cycle start arbitration 101-1, 101-2, . . . , 101-n are disposed (allocated), and Cycle start packet 102-1, 102-2, . . . , 102-n are disposed (allocated) subsequently to Data prefix 111 at the next thereto. At the next of these Cycle start packet 102-1, 102-2, . . . , 102-n, Iso_gap 110 is disposed (allocated) subsequently to Data end 109.
In this case, Cycle start constituted by Cycle start arbitration 101-1, 101-2, . . . , 101-n and Cycle start packets 102-1, 102-2, . . . , 102-n is packet sent by cycle master node within IEEE 1394 serial bus (hereinafter simply abbreviated as 1394 serial bus or bus according as occasion may demand) and indicating start of isochronous cycle. Data prefix 111 indicates start of acknowledge packet in data packet or asynchronous transfer, and Data end 109 indicates end of acknowledge packet in data packet or asynchronous transfer. Iso.gap 110 represents idle of 1394 serial bus and sub action of the isochronous transfer is separated by Iso_gap 110.
At the next of Iso_gap 110, arbitration 103-1, 103-2, . . . , 103-n are disposed (allocated). At the portion next thereto, there are disposed (allocated) isochronous packet 104-11, 104-12, . . . , 104-nn of n number of channels with respect to client terminals connected to the 1394 serial bus. At leading portions of respective isochronous packets 104-11, 104-12, . . . , 104-nn, Data prefix 111 are respectively disposed (allocated).
In the isochronous transfer, broadcast transmission is carried out with respect to the client terminal by using channel No. represented by 8 bits. The receiving side takes thereinto only data of channel No. that the own side desires.
At the last portions of the n-th isochronous packet 104-1n, 104-2n, . . . , 104-nn, Data end 109 are respectively disposed (allocated). At the portions next thereto, Subaction_gap 112 is disposed (allocated). At the next of Subaction_gap 112, arbitration 105-1, 105-2, . . . , 105-n are disposed (allocated). Further, Asynchronous Transfer 106-1, 106-2, . . . , 106-n which are asynchronous packet are disposed (allocated) through Data prefix 111 and Data end 109 are respectively disposed (allocated) subsequently thereto. At the portion next thereto, Ack Transfer 107-1, 107-2, . . . , 107-n as acknowledge packet are disposed (allocated) subsequently to Data prefix 111, and Data end 109 are respectively disposed (allocated) subsequently thereto.
Subaction_gap 112 indicates idle of 1394 serial bus. Respective terminals monitor this gap time to thereby judge whether or not transmission can be made. When idle of a fixed time or more (longer than Iso_gap 110) is lasted (continued), the node which desires asynchronous transfer judges that bus can be used to execute arbitration (arbitration 105-1, 105-2, . . . , 105-n) for the purpose of bus acquisition. The node which has acquired use right of bus transmits data of asynchronous transfer (Asynchronous Transfer 106-1, 106-2, . . . , 106-n). The node which has received data of asynchronous transfer transmits acknowledge packet (Ack Transfers 107-1, 107-2, . . . , 107-n) as reception result with respect to node of sending source of its data which has been transmitted.
In FIG. 1, the case where transmission of one asynchronous packet is carried out is taken as an example. Subaction_gap 114 is last disposed (allocated) and Cycle start arbitration 108-1, 108-2, . . . , 108-n of the next isochronous cycle are disposed (allocated) subsequently thereto. In this case, Cycle start arbitration 108-1 of isochronous cycle #1 is Cycle start arbitration 101-2 located (in point of time) at the leading portion of the isochronous cycle #2.
Moreover, after isochronous transfer, asynchronous transfer can be executed until the next cycle. Even if this asynchronous transfer is continued until transmission time point of the next cycle start, that asynchronous transfer is not interrupted to stand by idle of the next bus, whereupon cycle start is caused to undergo transmission by the cycle master node. In the case where one cycle is continued for more than 125 xcexcsec, the next cycle is shortened accordingly.
Lengths of respective isochronous channels (isochronous packets) are caused to be equal lengths calculated from the transmission band allocated to isochronous channels every respective isochronous cycles.
At respective isochronous packets, there are required overhead corresponding to time for Data prefix required at Physical Layer of IEEE 1394 (the number of bits corresponding to time corresponding to 16 clocks of BASE_RATE of 100 Mbps (precisely speaking, 98.304 Mbps) as basic rate (speed), overhead corresponding to time for Data end (the number of bits corresponding to time corresponding to 24 clocks of the BASE_RATE), and header for application for taking matching of isochronous packet header and application layout. In this case, according as length of isochronous packet is shortened, i.e., according as band required for isochronous channel becomes smaller, the ratio of these overheads becomes great.
For example, in the case where stream of AAL (ATM Adaptation Layer) 5-PDU (Protocol Data Unit) containing MPEG (Moving Picture Experts Group)-PS packet having the same length of 32 K bytes with respect to respective client terminals through IEEE 1394 serial bus from video server on ATM (Asynchronous Transfer Mode) network is caused to undergo transmission by CBR (Constant Bit Rate) service of 2 Mbps (2.048xc3x97106 bps), ATM/1394 Bridge which carries out interface processing between ATM and IEEE 1394 is adapted so that isochronous packet length to be transmitted with respect to respective client terminals becomes equal to 32 bytes (=2.048xc3x97106/8000/8) when IP/ATM (IP over ATM) header prescribed at the IP (Internet Protocol) and RFC (Request For Comments) 1483 is excluded.
In this case, overheads in the respective isochronous packets become equal to 22 bytes in total because it is required that overhead of Data prefix is about 16 bits (=2 bytes), isochronous header and CRC (Cyclic Redundancy Check) field prescribed at the Link Layer of IEEE 1394 are 12 bytes, and header for application is at least 8 bytes. In this case, since the overhead of Data end is reversely proportional to the number of isochronous packets transmitted within one isochronous cycle, it becomes very small value in the case of the prior art. For this reason, this is neglected. As a result, from ATM/1394 Bridge, with respect to isochronous packet to respective client terminals, 41% (=22 bytes/(22 bytes+32 bytes)) of the entirety serves as overhead, and very high rate is obtained.
Moreover, in the case where transmission speed (rate) of the 1394 serial bus is 100 Mbps, the maximum value of transmittable isochronous packet becomes equal to 1024 bytes. However, at this time, since the number of containable (connectable) client terminals of ATM/1394 Bridge is calculated as follows. Since overhead of the layer of the link layer or more of the IEEE 1394 constitutes problem, 19 terminals are limit per one 1394 serial bus by the following formula when overhead of 20 bytes obtained by subtracting only Data prefix from overhead of 22 bytes is taken into consideration:
1024 bytes/(32 bytes+20 bytes)=19.7
Further, there is also the problem that handling of packet by software is difficult. Since it is not realistic to carry out handling of packet by software at short period of 125 xcexcsec, it is general to carry out processing in the state where scheduling by timer interruption, etc. is taken as the base. In ATM/1394 Bridge, in the case where period of scheduling is 2 m sec and the number of client terminals to be contained is set to 19 which is the maximum number, when the number of events per scheduling period (the number of overheads to be processed) is calculated, the number of events becomes equal to 304 (=19xc3x972xc3x97103/125) (events). It is required to carry out overhead processing of one isochronous packet within 6.6 xcexcsec (=125 xcexcsec/19). This is not realistic.
This invention has been made in view of such circumstances and contemplates permitting reduction of overhead so that data is permitted to efficiently undergo transmission, and permitting the number of client terminals which can be connected to one bus to be increased, and facilitating handling by software.
In the data transmission system, the data transmission method, the data transmitting apparatus and the data transmitting method according to this invention, in carrying out transmission of data from the server unit to the terminal unit at a predetermined transmit period, interrupt signal is generated at a scheduling period longer than the predetermined transmit period to carry out transmitting control of data every predetermined transmit period on the basis of transmittable data quantity within one scheduling period unit.